.value-active() {
  background-color: rgba(19, 125, 226, 0.07);
  color: #126ac4;
  transition-duration: 312ms;
}

.value-current() {
  font-weight: bold;
  color: #126ac4;
}

.value-hover() {
  background-color: rgba(19, 125, 226, 0.15);
  transition-duration: 312ms;
}

.date-picker--panel-year, .date-picker--panel-month {
  .date-picker--panel-value {
    width: 60px;
    height: 40px;
    line-height: 40px;
  }
}

.date-picker--panel-week, .date-picker--panel-quarter {
  tr.date-picker--row {
    td {
      color: unset;
      transition: color 312ms, background-color 312ms;
      background-clip: content-box;
      box-sizing: content-box;

      @radius: 20px;

      &:first-child {
        border-radius: @radius 0 0 @radius;
      }

      &:last-child {
        border-radius: 0 @radius @radius 0;
      }

      .date-picker--panel-value {
        &:hover, &-active {
          color: unset;
          background-color: unset;
        }

        &:hover {
          border-color: transparent;
        }
      }
    }

    &-active {
      td {
        .value-active();
      }
    }

    &:hover {
      td {
        .value-hover();
      }
    }
  }
}

.date-picker--panel-time {
  .date-picker--panel-body {
    padding-top: 5px;
  }

  .date-picker--panel-time-body {
    width: 240px;
    height: 160px;
    margin: 0 auto;

    td {
      padding: 0;
    }
  }
}

.date-picker--panel-time-title {
  font-size: large;
}

.date-picker--panel-time-wheel-value {
  color: #126ac4;
  border: 1px solid #888888;
  padding: 2px 0;
}

.date-picker--panel-time-wheel-prev, .date-picker--panel-time-wheel-next {
  color: #888888;

  > span {
    display: block;
    border: 1px solid #cccccc;
  }
}

.date-picker--panel-time-wheel-prev > span:first-child,
.date-picker--panel-time-wheel-next > span:last-child {
  color: #cccccc;
  border: 1px solid #EEEEEE;
}

.date-picker--panel-body {
  box-sizing: border-box;

  table {
    border-collapse: collapse;
    width: 280px;
    height: 280px;
  }

  thead tr {
    border-bottom: 1px solid #e7e7e7;
  }

  th {
    font-weight: normal;
    padding-bottom: 10px;
    border: none;
  }

  td {
    cursor: default;
    border: none;
    padding: 0;
  }
}


.date-picker--panel-header {
  display: grid;
  grid-template-columns: 48px auto 48px;
  line-height: 40px;
  font-size: larger;
  color: #555555;

  .datepicker-iconfont {
    cursor: pointer;
    line-height: 24px;
  }

  &-prev, &-next {
    cursor: default;
  }

  &-year, &-month {
    cursor: pointer;
    padding: 2px;

    &:hover {
      color: #0084fc;
    }
  }

  &-container {
    display: grid;
    grid-template-columns: 30px auto 30px;
    grid-auto-flow: column;
  }
}

.date-picker--panel-value {
  @size: 30px;
  border-radius: 8px;
  display: block;
  width: @size;
  height: @size;
  line-height: @size;
  text-align: center;
  border: 1px solid transparent;
  margin: 0 auto;
  box-sizing: border-box;
  transition: border-color 618ms, background-color 618ms, color 618ms;

  &:not(&-disabled):hover {
    .value-hover();
  }

  &-active {
    .value-active();
  }

  &-highlight {
    background-color: rgba(98, 163, 226, 0.07);
    transition-duration: 312ms;
  }

  &-current {
    .value-current();
  }

  &-overflow {
    color: #888888;
  }

  &-disabled {
    color: rgba(255, 255, 255, 0.7) !important;
    text-shadow: 1px 1px 1px #7a7a7a;
    cursor: not-allowed;
  }
}
